from PIL import Image
import os

def convert_images_to_jpg(input_directory, output_directory):
    """
    将指定输入目录中的所有图片文件转换为JPEG格式，并保存到输出目录
    :param input_directory: 输入图片文件所在的目录
    :param output_directory: 输出JPEG图片文件的目录
    """


    for root, dirs, files in os.walk(input_directory):
        for file in files:
            input_path = os.path.join(root, file)
            file_extension = os.path.splitext(file)[1].lower()
            if file_extension in ['.png', '.bmp', '.gif', '.tiff', '.webp']:  # 可以根据实际情况添加更多格式
                try:
                    img = Image.open(input_path)
                    img = img.convert('RGB')  # 将图片转换为RGB模式（因为JPEG格式基于RGB颜色模式）
                    output_file_name = os.path.splitext(file)[0] + '.jpg'
                    output_path = os.path.join(output_directory, output_file_name)
                    img.save(output_path, 'JPEG')
                    print(f"已成功将 {input_path} 转换为 {output_path}")
                except Exception as e:
                    print(f"转换 {input_path} 时出现错误: {e}")
                    
                    
input_directory = r"your_input_directory"  # 替换为实际的输入目录路径
output_directory = r"your_output_directory"  # 替换为实际的输出目录路径
if not os.path.exists(output_directory):
	os.makedirs(output_directory)

convert_images_to_jpg(input_directory, output_directory)